오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴
텍스트
SEARCH 함수
함수 요약

엑셀 SEARCH 함수는 문자열에서 특정 텍스트의 시작 위치를 찾는 함수입니다.

함수 구문
=SEARCH(찾을문자, 문자열, [시작지점])
찾을문자
-
검색할 텍스트입니다.
문자열
-
텍스트를 검색할 문자열입니다.
시작지점
-
[선택인수]문자열에서 검색을 시작할 위치입니다.
  •  '4'를 입력하면, 4번째 문자부터 검색을 시작합니다. 기본값은 '1' 입니다.
상세 설명

SEARCH 함수는 문자열에서 특정 텍스트의 시작 위치를 반환하는 함수입니다. FIND 함수와 비슷하지만, 대소문자를 구분하지 않고 와일드카드 문자(*,?)를 사용할 수 있어 더욱 유연한 검색이 가능합니다.

=SEARCH("app*","this is apple tree") 
/ / 9를 반환합니다.

유사한 함수로 FIND 함수는 대소문자를 구분하고 와일드카드를 사용할 수 없어 보다 엄격하게 텍스트를 검색할 수 있습니다. FIND 함수와 SEARCH 함수의 주요 차이점은 다음과 같습니다.

함수 대소문자구분 와일드카드 사용
FIND 함수 구분함 사용 불가
SEARCH 함수 구분하지 않음 사용 가능

SEARCH 함수는 다른 함수와 함께 사용할 때 더욱 강력한 기능을 발휘합니다. 예를 들어, ISNUMBER 함수와 함께 사용하여 문장에서 '특정 단어의 포함 여부'를 확인할 수 있습니다.

=ISNUMBER(SEARCH(단어,문장))
/ / 단어가 문장에 포함된 경우 TRUE를 반환합니다.
=IF(ISNUMBER(SEARCH(단어,문장)),"포함","미포함")
/ / 단어가 문장에 포함된 경우 "포함"을 출력합니다.

단어 포함 여부 공식의 자세한 동작 원리와 사용 예제는 아래 기초 입문 강의에서 자세히 정리했으니 참고하세요!👇


SEARCH 함수 간단 예제
1) 이메일 주소의 도메인 확인하기

이메일 주소에서 특정 도메인 여부를 판단해야 할 경우, 다음과 같이 함수를 사용할 수 있습니다.

=ISNUMBER(SEARCH("@gmail.com",이메일))
/ / 도메인이 gmail.com일 경우 TRUE를 반환합니다.
2) 주문번호에서 제품코드 추출하기

여러 구분기호로 나뉘어 작성된 제품 코드가 있을 때, 아래 함수를 사용하면 제품코드의 특정 부분을 추출할 수 있습니다.

/ / 제품코드 : "ORD-20240101-A001"
=LEFT(제품코드,SEARCH("-",제품코드)-1)
=LEFT(제품코드,4-1)
=LEFT(제품코드,3)
="ORD"
3) 파일명에서 확장자 변경하기

REPLACE 함수를 함께 사용하면, 문자열에서 특정 부분만 찾아 변경할 수 있습니다. 예를 들어, 다음과 같이 함수를 작성하면, .확장자가 ".pdf" 인 파일을 ".docx"로 변경할 수 있습니다.

/ /경로 : "C:\...\파일.pdf"
=REPLACE(경로,SEARCH(".pdf",경로),4,".docx")
/ / 파일 경로에 .pdf가 있을 경우, pdf 확장자를 .docx로 변경합니다.
/ / 예: "파일.pdf" → "파일.docx"

자주 묻는 질문
1) SEARCH 함수와 SEARCHB 함수의 차이점은 무엇인가요?

SEARCHB 함수는 DBCS 언어(한국어, 일본어, 중국어)가 기본 언어일 경우 사용하는 함수입니다. SEARCHB 함수는 바이트 기준으로 찾을문자의 위치를 반환합니다. 한국어의 경우 문자당 2바이트를 사용합니다.

=SEARCH("강남", "서울특별시 강남구")
'// 서(1) + 울(1) + 특(1) + 별(1) + 시(1) + 공란(1) 으로 = 7을 반환합니다.
=SEARCHB("강남", "서울특별시 강남구")
'// 서(2) + 울(2) + 특(2) + 별(2) + 시(2) + 공란(1) 으로 = 11을 반환합니다.

그 외 주의사항

찾으려는 텍스트가 문자열에 없거나, 시작위치가 문자열의 길이보다 크면 #VALUE! 오류를 반환합니다.

SEARCH 함수는 영문검색시 대/소문자를 구분하지 않습니다.

시작위치가 0보다 작으면 #VALUE! 오류를 반환합니다.

SEARCH함수의 찾을 문자에는 와일드카드를 사용할 수 있습니다.

=SEARCH(" *밭","한국과수원 사과밭 사과나무")
'// "밭"으로 끝나는 단어를 검색합니다. * 앞에 띄어쓰기를 포함해서 검색하는 것을 주의해주세요.
'// "사과밭"의 시작위치인 '6'을 반환합니다.

댓글 4
5 (3개 평가)
질문있어요
질문있어요 2021.11.10 03:55
=SEARCH("*밭","한국과수원 사과밭 사과나무")
여기서 와일드카드 *을 사용하면 반환값이 7이 나와야 한다는것까지는 이해를 했는데요, 실제로 엑셀에서 와일드카드 *을 사용해서 함수를 입력하면 모든 값이 1로 나옵니다.
위 예제를 입력해도 7이 아닌 1을 반환하고, =SEARCH("*나무","한국과수원 사과밭 사과나무") 를 입력해도 1을 반환합니다.
와일드카드 위치를 바꿔서 =SEARCH("사과*","한국과수원 사과밭 사과나무")를 입력해도 1을 반환하는데, 왜 그런걸까요??
저는 mac의 엑셀2021 버전을 사용합니다.
오빠두엑셀
오빠두엑셀 작성자 2021.11.11 19:50
안녕하세요?^^
죄송합니다. 글에 띄어쓰기가 누락되어 있었습니다.
"*밭"으로 검색하면, 밭 앞에 모든 문자열이 들어가기 때문에 1이 반환됩니다.
" *밭" 으로 검색해보시겠어요? 밭으로 시작되는 단어인 사과밭이 시작하는 위치인 6이 반환될겁니다 :)
강민준🤗
강민준🤗 2024.08.05 12:41
좋은 강의 감사합니다🙇‍♂️
일잘러된다
일잘러된다 2025.05.21 16:54
어렵네요. 감사합니다.